package dancereal;

import java.util.Scanner;

public class J10_DoWhile {

	// do - while
	// while 문과 유사한 반복문
	// 단, while 문은 조건을 먼저 검사하고
	// 조건이 참인 경우에만 반복문을 실행하지만
	// do - while 문은 먼저 반복문을 실행하고 
	// 나중에 조건식을 검사함
    
	
	public static void main(String[] args) {
	
		//while vs do-while
		int i = 10;
		while(i > 10) System.out.println("이 글이 보이나요?");
	
		do
			System.out.println("이 글이 보이나요?");
		while(i > 10);
		
		// 문제 1 : 5개의 임의의 난수를 출력
		// 난수 출력시 Math 클래스의 random 메서드를 이용
		int j = 1;
		do{
			//System.out.println(Math.random());
			//System.out.println(Math.random() * 10);
			//System.out.println((int)(Math.random() * 10));
			//System.out.println((int)(Math.random() * 10) + 1);
			System.out.println((int)(Math.random() * 10) + 1);
		++j;
       		
		}while (j <= 5);
		
		// 문제 2 : 컴퓨터 속마음 알아내기
		// 컴퓨터가 생성한 난수를 알아 맞추는 프로그램
		// 1) 사용자가 입력한 값이 난수 보다 크면 "크다" 출력
		// 2) 사용자가 입력한 값이 난수 보다 작으면 "작다" 출력
		// 3) 사용자가 입력한 값이 난수와 같으면 "같다" 출력
		
		// 프로그램 실행 순서
		// 컴퓨터가 난수를 생성한다
		// 사용자에게 값을 하나 입력 받음
		// 난수와 입력받은 값을 비교하고 결과 출력
		// 프로그램 종료
		
		// v1
		int yourKey; // 컴퓨터가 생성한 난수
		int myKey;   // 사용자가 입력한 값
		
		yourKey = (int)(Math.random() * 10 + 1); // 난수 생성 (1 - 10)
		System.out.println("컴퓨터 속마음 알아보기 v1");
		System.out.println("숫자 하나 입력해 보세요");
		Scanner sc = new Scanner(System.in); 
		// Scanner : 간단한 문자 입력을 받기 위해 사용하는 클래스
		// System.in : 시스템에 장착된 입력장치를 의미
		// System.out : 시스템에 장착된 출력장치를 의미
		myKey = sc.nextInt(); // 사용자에게 값 입력받음
		
		// 난수와 입력값 비교

		if (yourKey < myKey)
          System.out.println("큽니다");
		else if(yourKey > myKey)
			System.out.println("작습니다");
		else if(yourKey == myKey)
			System.out.println("정답입니다");
		
		// v2 : 반복 처리 추가
		
		do{
		
		yourKey = (int)(Math.random() * 10)+ 1; // 난수 생성 (1 - 10)
		System.out.println("컴퓨터 속마음 알아보기 v2");
		System.out.println("숫자 하나 입력해 보세요(1-10)");
	    sc = new Scanner(System.in); 
		// Scanner : 간단한 문자 입력을 받기 위해 사용하는 클래스
		// System.in : 시스템에 장착된 입력장치를 의미
		// System.out : 시스템에 장착된 출력장치를 의미
		myKey = sc.nextInt(); // 사용자에게 값 입력받음
		
		// 난수와 입력값 비교

		
			if (yourKey < myKey)
	          System.out.println("큽니다");
			else if(yourKey > myKey)
				System.out.println("작습니다");
			else if(yourKey == myKey)
				System.out.println("정답입니다");
		}while (yourKey != myKey);  
			
			
        
        
		}
}

		
			
		
	
	